package org.cying.main.handler;

import cn.hutool.http.HttpStatus;
import com.alibaba.csp.sentinel.slots.block.BlockException;
import org.cying.main.domain.SampleResult;
import java.util.List;

/**
 * 全局限流处理器
 * @author Cying
 */
public class TaskFlowHandler {
    
    /**
     * createNewTask 的限流处理方法
     * @param subject 主题
     * @param describe 描述
     * @param issuer 发布人
     * @param deadLine 截止时间
     * @param type 类型
     * @param dList 部门列表
     * @param gList 小组列表
     * @param sList 学生列表
     * @param iList 图列表
     * @param e 异常
     * @return 提示信息
     */
    public static SampleResult createNewTaskHandler(
            String subject, String describe, Long issuer, String deadLine, Integer type,
            List<String> dList, List<String> gList, List<String> sList, List<String> iList,
            BlockException e
    ) {
        return new SampleResult("Flowed", HttpStatus.HTTP_BAD_REQUEST, e.getClass().getCanonicalName(), "当前访问人数较多");
    }
    
    /**
     * commitTask 的限流处理方法
     * @param tid 任务号
     * @param sid 学号
     * @param content 内容
     * @param imgs 图片列表
     * @param e 异常
     * @return 提示信息
     */
    public static SampleResult commitTaskHandler(
            String tid, Long sid, String content, List<String> imgs,
            BlockException e
    ) {
        return new SampleResult("Flowed", HttpStatus.HTTP_BAD_REQUEST, e.getClass().getCanonicalName(), "当前访问人数较多");
    }
    
    /**
     * queryTask 的限流处理方法
     * @param sid 学号
     * @param dept 部门
     * @param close 是否截止
     * @param complete 是否完成
     * @param issuer 发布人
     * @param type 类型
     * @param e 异常
     * @return 提示信息
     */
    public static SampleResult queryTaskHandler(
            Long sid, String dept, Integer close, Integer complete, Long issuer, Integer type,
            BlockException e
    ) {
        return new SampleResult("Flowed", HttpStatus.HTTP_BAD_REQUEST, e.getClass().getCanonicalName(), "当前访问人数较多");
    }
    
    /**
     * getTaskStatus 的限流处理方法
     * @param sid 学号
     * @param start 起始日期
     * @param end 结束日期
     * @param e 异常
     * @return 提示信息
     */
    public static SampleResult getTaskStatusHandler(
            Long sid, String start, String end,
            BlockException e
    ) {
        return new SampleResult("Flowed", HttpStatus.HTTP_BAD_REQUEST, e.getClass().getCanonicalName(), "当前访问人数较多");
    }
    
}
